#ifndef BROADCASTEVENT_HPP_
#define BROADCASTEVENT_HPP_

#include <kit/event/Event.hpp>

namespace KitEvent
{
	/**
	 * This is a representation of broadcast event defined in the task. The
	 * event is identified by letter B, as I silently assumed that events incoming to
	 * the system are correct. For more precise explanation see Event class, as it is
	 * the base class of BroadCastEvent.
	 */
	class BroadcastEvent : public Event
	{
	public:
		BroadcastEvent():Event("B"){}
		BroadcastEvent(KitMessage::Message * iMessage):Event(iMessage,"B"){}
        virtual ~BroadcastEvent();
        virtual Event * makeCopy(KitMessage::Message * iMessage){return new BroadcastEvent(iMessage);}
        virtual bool isValid(KitUser::UserMap * iUsers);
        virtual void execute(KitUser::UserMap * iUsers);
	private:

	};
}

#endif /* BROADCASTEVENT_HPP_ */
